<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 原型(类-数据类型)： 创建数据时参考的数据的原始结构模型
        // 原型链(类的继承-多态): 数据构建时参考的结构模型在数据创建时读取的构造器原型的链式指向关系

        function Man(){}
        Man.prototype.print = function(){
            console.log("Man-print")
        }

        function User(name,age){
            this.name = name;
            this.age = age
        }
        // User.prototype = Man.prototype;
        User.prototype = Object.create(Man.prototype);
        User.prototype.constructor = User;
        User.prototype.show = function(){
            // 原型方法中的this 指向于基于该构造器创建的实例对象
            console.log(this.name)
        }
        let u = new User("tom",23)
        console.log(u);
        u.show()
        u.print()

        // 通过 instanceof 判断指定数据 在原型上是否属于某个类型构造器
        console.log( u instanceof Object );
        console.log( u instanceof User );
        console.log( u instanceof Man );

        // let u1 = new User("jack",23)
        // u1.show()


        // class A{
        //     show(){}
        // }
        // class B extends A{
        //     print(){}
        // }

    </script>
</head>
<body>
    <p>aaaaaa</p>
</body>
</html>